レスポンシブで適応性のあるアプリの作成
Flutter の主な目標の 1 つは、フレームワークを作成することです。 単一のコードベースからアプリを開発できるようになります どのプラットフォームでも見た目も使い心地も優れています。
これは、アプリが次の画面に表示される可能性があることを意味します。 時計から折りたたみ式まで、さまざまなサイズ 2 つの画面を備えた携帯電話を高解像度モニターに接続します。
この概念を説明する 2 つの用語 シナリオは適応的なと応答性の高い。理想的には、 あなたのアプリはこうであってほしいと思うでしょう両方でも何、 まさに、これはどういう意味ですか? これらの用語は似ていますが、同じではありません。
アダプティブ アプリとレスポンシブ アプリの違い
アダプティブと応答性の高い別々のものとして見ることができる アプリの寸法: アダプティブなアプリを作成できます それが応答しない、またはその逆です。そしてもちろん、 アプリは両方であることも、どちらでもないこともあります。
- レスポンシブ
- 通常、応答性の高いアプリのレイアウトが完成しました 利用可能な画面サイズに合わせて調整されています。多くの場合これ これは、(たとえば) UI を再レイアウトすることを意味します。 ユーザーがウィンドウのサイズを変更するか、デバイスの オリエンテーション。これは特に次の場合に必要です。 同じアプリをさまざまなデバイスで実行できるため、 時計、携帯電話、タブレットからラップトップ、または デスクトップコンピューター。
- アダプティブ
- 適応するさまざまな種類のデバイスで実行するアプリ、 モバイルやデスクトップなど、対応が必要 マウスとキーボード入力だけでなく、 タッチ入力。違うものがあるという意味でもあります アプリの視覚的な密度についての期待、 コンポーネントの選択の仕組み (カスケード メニューと下部シートなど)、 プラットフォーム固有の機能を使用する(たとえば、 トップレベルウィンドウ) など。
レスポンシブな Flutter アプリの作成
Flutter を使用すると、自己適応するアプリを作成できます デバイスの画面サイズと向きに合わせて調整します。
Flutter を作成するには 2 つの基本的なアプローチがあります レスポンシブデザインのアプリ:
- 使用
LayoutBuilder
クラス - そのことから
builder
プロパティを取得すると、ed717bbd-0169-4ef2-993d-ee7510df9dbf物体。 制約のプロパティを調べて何を行うかを決定します 画面。たとえば、あなたの場合、maxWidth
より大きい 幅ブレークポイントは、Scaffold
オブジェクト 左側にリストがある行。もっと狭い場合は、 返すScaffold
それを含む引き出しを持つオブジェクト リスト。に基づいてディスプレイを調整することもできます。 デバイスの高さ、アスペクト比、またはその他のプロパティ。 制約が変更されたとき (たとえば、 ユーザーが携帯電話を回転させるか、アプリをタイル UI に配置します Nougat の場合)、ビルド関数が実行されます。 - 使用
MediaQuery.of()
ビルド関数内のメソッド - これにより、現在のアプリのサイズ、方向などがわかります。 これは、以下に基づいて決定を下す場合に便利です。 特定のサイズだけではなく、完全なコンテキスト ウィジェット。繰り返しますが、これを使用すると、ビルド関数が自動的に実行されます。 ユーザーが何らかの方法でアプリのサイズを変更した場合に実行されます。
レスポンシブ UI を作成するためのその他の便利なウィジェットとクラス:
AspectRatio
CustomSingleChildLayout
CustomMultiChildLayout
FittedBox
FractionallySizedBox
LayoutBuilder
MediaQuery
MediaQueryData
OrientationBuilder
その他のリソース
詳細については、ここにいくつかのリソースがあります。 Flutter コミュニティからの貢献を含む:
- 複数の画面サイズと方向に対応した開発 flutterデブン・ジョシ著
- Flutter でレスポンシブ UI を構築するラウフ・ラヒシュ著
- クロスプラットフォームの Flutter ランディング ページをレスポンシブにするプリヤンカー・ティアーギ著
- さまざまな画面に応じて Flutter アプリをレスポンシブにする方法 サイズ?、StackOverflow に関する質問
アダプティブ Flutter アプリの作成
アダプティブ Flutter アプリの作成について詳しくは、こちらをご覧ください。アダプティブ アプリの構築、gskinnerチームによって書かれました。
次のエピソードもチェックしてください 退屈なショーの:
アダプティブレイアウト
アダプティブ レイアウト、パート 2
アダプティブ アプリの優れた例としては、 Flutter Folio をチェックしてください。スクラップブッキング アプリです。 gskinner および Flutter チームと協力して:
のフォリオのソースコードGitHub でも入手できます。 詳細については、グスキナーのブログ。
その他のリソース
プラットフォーム適応型アプリの作成について詳しく学ぶことができます 次のリソースにあります。
- プラットフォーム固有の動作と適応, このサイトのページ。
- 真に適応性のあるユーザー インターフェイスを設計するブログ投稿とビデオ アロイス・デニエル著、今年の FlutterViking カンファレンスで発表。
- のFlutterギャラリーアプリ(リポジトリ) として書かれています。 アダプティブアプリ。